#ifndef STATICGESTURE_H
#define STATICGESTURE_H

#include <QMap>
#include <QString>
#include <vector>
#include <cv.h>

#include "svm.h"
#include "handgestureexception.h"

namespace mlgesture {

class StaticGesture
{
public:
	StaticGesture(const QString &model_file, const QString &scale_factors_file, const QString &labels_file,
				  int hands_num) throw (HandGestureException);
	~StaticGesture();
	const std::vector<int>& getStaticGestures() const throw (HandGestureException);
	void proccess(const std::vector<cv::Mat> &shape);

private:
	svm_model* svmModel_;
	double minScaleFactors_[7];
	double maxScaleFactors_[7];
	QMap<int, QString> staticLabelsData_;
	std::vector<int> staticGestures_;
};

}

#endif // STATICGESTURE_H
